
********************************
■■■■
■ ■ ■ ■
■ ■■■ ■■■
■ ■ ■ ■
■■■■
〜基礎から ★ C++Programing〜
********************************
【注意】 このマガジンは、最大化してお読みください。
また、等角フォントでお読みください。
(MS ゴシックなど)
********************************
発行者 むーくん
マガジンNO. 70(5−10)
発行日 2001/2/19
講読人数 2000名ぐらい
マガジンID 0000050494
このマガジンは、まぐまぐから配信されています。
********************************
★あいさつ★
もう2月も後半・・・
一月は行く、二月は逃げる、三月は去る、といいます。
そして気づくともう一年。
子供のときの長かった一年がほしい・・
********************************
********************************
★目次★
・無限ループ
・警告
・while版、do-while版
・for版
・サンプルプログラム
・予告
********************************
★無限ループ★
何度も触れているかもしれませんが、永久に終わらないループを
無限ループといいます。
今回は、その利用方法を学びましょう。
********************************
★警告★
以前、話しましたが、もし無限ループにはまってしまったら
MS-DOSでは、「ctrl」+「c」キー
UNIX では、「ctrl」+「z」キー
で強制終了できます。
絶対に覚えておいてください!!
********************************
★while版、do-while版★
実現方法です。
条件式が永久に成立する、つまり真であれば無限ループになります。
////////////
// while(1) /
////////////
// while(true) /
////////////
という書き方が一般的です。
do-whileの場合も、while部分を同じようにしてください。
********************************
★for版★
for文の場合も「1」を指定してもよいのですが、一般的に
下のものがよく使われます。
C++プログラマに見慣れたものなので分かりやすいと思います。
////////////
// for(;;) /
////////////
初期化、条件、更新の三部分に何も指定していません。
セミコロンは必要なので注意してください。
こうすると「条件のない繰り返し」になって、無限ループになります。
********************************
★サンプルプログラム★
本当に無限に繰り返しては実用性がないので、
実際に利用するときには、break文を併用します。
以下の例を参考にしてください。
・数当てゲームを作成します。
正解の数字を777とし、ユーザーの入力した数字が
大きいか小さいかのヒントを表示しながら、当たるまで続けなさい。
#include<iostream>
using namespace std;
int main(void){
int answer, input;
answer = 777;
while(1){
cout << "あなたの数字は? : ";
cin >> input;
if(input==answer){
cout << "おめでとう!正解です!!" << endl;
break;
}
else if(input>answer){
cout << "大きい!" << endl;
}
else{
cout << "小さい!" << endl;
}
}
return 0;
}
【解説】
入力した値をinput、正解をanswerに入れています。
input と answer が一致したら、breakでループを脱出します。
これも無限ループを使わなくても記述できます。
どれを使うかはそのプログラマの好みと
ロジックのわかりやすさで、自由に選ぶものなのです。
for文も同じ要領で使うことができます。
どちらを使っても違いはありません。お好きなものをどうぞ。
********************************
★予告★
・いろいろなfor文を学習します。
********************************
********************************
講読解除はこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html
バックナンバーはこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html
内容について質問やご意見など
smukun@hotmail.com
筆者のWebサイト(むーくんの理学的なんでも講座)
http://members.tripod.co.jp/mukun_mmg/
************************************